package com.yidu.action;


import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import com.yidu.common.Pages;
import com.yidu.common.Tools;
import com.yidu.domain.ListenBackstageUser;
import com.yidu.domain.ListenStock;
import com.yidu.service.ListenStockService;

import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.annotation.Resource;
import javax.servlet.http.HttpSession;

import org.springframework.stereotype.Controller;

/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author YZJ
 * @since 2018-11-27
 */
@Controller
@RequestMapping("/listenStock")
public class ListenStockController {
	@Resource
	ListenStockService mapper;
	
	/**
	 * 分页查询显示
	 * @param ktitle
	 * @param ctitle
	 * @param page
	 * @param limit
	 * @return
	 */
	@RequestMapping("selectfanll")
	@ResponseBody
	public Map<String ,Object>  selectfanll(@RequestParam(value = "key[title]", required =false)String ktitle,
			@RequestParam(value="page",required=false)Integer page,
			@RequestParam(value="limit",required=false)Integer limit,HttpSession session){
		//获取用户session
		ListenBackstageUser user = (ListenBackstageUser) session.getAttribute("user");
		//new 一个模具类
		ListenStock stock =new ListenStock();
		//判断查询的乐器不能为空
		if(ktitle!=null && !"".equals(ktitle)) {
			//把页面上输入的乐器名称赋值给模具类
			stock.setMuName(ktitle);
		}
		//new 一个分页工具类
		Pages ps =new Pages();
		//判断开始页数与每页最大页数不为空
		if(page!=null && limit!=null) {
			//将当前页数赋值给页面上的页数
			ps.setCurPage(page);
			//将每页最大页数赋值再给页面
			ps.setMaxResult(limit);
		}
		//创建一个Map
		Map <String,Object> map =new HashMap<String, Object>();
		//判断取到的session对象不为空
		if(user!=null) {
			//判断取到的节点公司ID不为空
			 if(!Tools.isEmpty(user.getSite())){
				//添加公司ID
				 map.put("companyId", user.getSite());
			 }
		}
		//添加乐器名称
		map.put("muName", stock.getMuName());
		//添加当前页数
		map.put("firstRows", ps.getFirstRows());
		//添加当前最大显示页数
		map.put("maxResult", ps.getMaxResult());
		//查询所有的方法
		List<ListenStock> list =mapper.selectfanll(map);
		//查询总行数的方法
		int rows =mapper.selectC(map);
		//创建一个maps
		Map<String,Object> layuiMap =new HashMap<String, Object>();
		layuiMap.put("code", 0);
		layuiMap.put("msg", "");
		layuiMap.put("count",rows);
		layuiMap.put("data", list);
		return layuiMap;
	}
	
	/**
	 * 根据ID查询所有
	 * @param id
	 * @return
	 */
	@RequestMapping("selectID")
	@ResponseBody
	public ListenStock selectID(String id) {
		//根据ID查询的方法
		ListenStock stock= mapper.selectID(id);
		return stock;
	}
	
	/**
	 * 
	 *@title 根据公司名称查询所有
	 * @param
	 * @return 
	 * @author zwm
	 * @dateTime 2018年12月4日
	 * @versions
	 */
	@RequestMapping("/selectName")
	@ResponseBody
	public Map<String,Object>selectName(@RequestParam(value = "key[yueqi]" , required = false)String yueqi,
			@RequestParam(value = "key[price]" , required = false)String price,
			@RequestParam(value = "key[price2]" , required = false)String price2,
			@RequestParam(value = "limit",required = false)Integer limit,
			@RequestParam(value = "page",required = false)Integer page,
			HttpSession session){
			System.err.println("进来了。。。。。。。。。。  乐器名称 :"+yueqi+"最低价格 ： "+price+"最高价格:  "+price2+"  行数  :"+limit+"    页数  :"+page);
			ListenStock stock=new ListenStock();
			double dd=Double.valueOf("11.5");
			//判断公司名称不为空
			/*if(title!=null && !"".equals(title)) {
				stock.setCompanyName(title);
			}*/
			//判断音乐名称不为空
			if(yueqi!=null && !"".equals(yueqi)) {
				stock.setMuName(yueqi);
			}
			//判断最低价格不为空
			if(price!=null && !"".equals(price)) {
				stock.setPrice(BigDecimal.valueOf(Double.valueOf(price))); 
			}
			//判断最高价格不为空
			if(price2!=null && !"".equals(price2)) {
				stock.setPrice2(BigDecimal.valueOf(Double.valueOf(price2)));
			}
			//获取pages分页工具类对象
			Pages pages=new Pages();
			//判断传过来的页数和行数不为空
			if(page!=null && limit!=null) {
				pages.setCurPage(page);
				pages.setMaxResult(limit);
			}
			//获取用户session
			ListenBackstageUser user = (ListenBackstageUser) session.getAttribute("user");
		
			
			Map<String, Object>map=new HashMap<>();
			if(user!=null) {
			map.put("companyName",user.getSite());//公司名称
			}
			map.put("muName", stock.getMuName());//乐器名称
			map.put("zdjg", stock.getPrice());//最低价格
			map.put("zgjg", stock.getPrice2());//最高价格
			map.put("kshs",pages.getFirstRows());//开始行数
			map.put("zResult", pages.getMaxResult());//每页显示多少行
			
			List<ListenStock> list = mapper.selectgsName(map);
			//调用查询行数的方法
			int rows = mapper.selectCount(map);
			Map<String, Object> layuiMap=new HashMap<>();
			layuiMap.put("code", 0);
			layuiMap.put("msg", "");
			layuiMap.put("count",rows);//行数
			layuiMap.put("data",list);//页数
			return layuiMap;
		}	
	
	/**
     * @title 质检增加乐器库存
     * @param String
     * @return int
     * @author 江宇
     * @dateTime 2018年11月29日
     * @versions 1.0
     */
	@RequestMapping("qualityTestingadd")
	@ResponseBody
	public int qualityTestingadd(String qtId,String vocationalWorkId) {
		 return mapper.qualityTestingadd(qtId, vocationalWorkId);
	}
	
	
	 
    /**
     * 
     * @title 根据公司ID查询乐器库存 
     * @param Map
     * @return List
     * @author 江宇
     * @dateTime 2019年1月8日
     * @versions 1.0
     */
	@RequestMapping("/findByMuAll")
	@ResponseBody
	
	public Map<String, Object> findByMuAll(ListenStock st,HttpSession session) {
		//获取用户session
		ListenBackstageUser users = (ListenBackstageUser) session.getAttribute("user");
		Map<String, Object> map=new HashMap<>();
		 
		//公司ID赋值
		map.put("companyId", users.getSite());
		 
		//如果乐器预警不为空赋值
		if(!Tools.isEmpty(st.getWarning())) {
			map.put("warning", st.getWarning());
		}
		
		//如果前台传过来的页数和行数不为空赋值
		if(st.getPage()!=null && st.getLimit()!=null) {
			Pages page=new Pages();
			page.setCurPage(st.getPage());
			page.setMaxResult(st.getLimit());
			
			map.put("firstRows", page.getFirstRows());
			map.put("maxResult", page.getMaxResult());
		}
		
		//调用根据公司ID查询乐器库存的方法
		List<ListenStock> list=mapper.findByCompanyId(map);
		//调用根据公司ID查询乐器库存行数的方法
		int rows=mapper.findByCompanyIdCount(map);
		
		Map<String, Object> layuiMap=new HashMap<>();
		
		layuiMap.put("code", 0);
		layuiMap.put("msg", "");
		layuiMap.put("count",rows);
		//将list放入map中
		layuiMap.put("data", list);
		return layuiMap;
	}
	
}